<?php
session_cache_limiter("nocache");
//session_start();
require_once('../utilidades/ConexionBD.php');

class OrdTrabajoRecMercanciaItemAccesorio {
    
    //--- Atributos

    //--- constructor
    function __construct(){
    }    

    //--- Metodos        
    public static function selectById($id){
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemAccesorio\"(
                'selectById'
                ,NULL
                ,".$id."
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));                
        }
        //--- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        while($row = pg_fetch_array($res)) {
            $list=array(
                "id"                   =>$row["@id"],
                "fechaGrab"            =>$row["@fechaGrab"],
                "usuarioGrab"          =>$row["@usuarioGrab"],
                "activo"               =>$row["@activo"],
                "codOrdTrabajo"        =>$row["@codOrdTrabajo"],
                "codOrdTrabajoRecMercancia"     =>$row["@codOrdTrabajoRecMercancia"],            
                "codOrdTrabajoRecMercanciaItem" =>$row["@codOrdTrabajoRecMercanciaItem"],            
                "codOrdTrabajoRecMercanciaItemAccesorio" =>$row["@codOrdTrabajoRecMercanciaItemAccesorio"],            
                "accesorio"   =>$row["@accesorio"],            
                "cantidad"      =>$row["@cantidad"],
                "observaciones" =>$row["@observaciones"],
                "serial"        =>$row["@serial"],
                "consecutivo"   =>$row["@consecutivo"],
            );
            return json_encode($list);
        }
        return json_encode("");
    }
    
    public static function selectByIdOrdTrabajoRecMercanciaItemHTMLTableFormat($idordTrabajoRecMercanciaItem,$numPagina,$registrosPorPagina){
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemAccesorio\"(
                'selectByIdOrdTrabajoRecMercanciaItem'
                ,'".$numPagina."|".$registrosPorPagina."'
                ,".$idordTrabajoRecMercanciaItem."
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        
        $html="";
        while($row = pg_fetch_array($res)) {
            $html=$html."<tr id='".$row["@id"]."'>";
            $html=$html."<td>".$row["@codOrdTrabajoRecMercanciaItemAccesorio"]."</td>";        
            $html=$html."<td>".$row["@cantidad"]."</td>";        
            $html=$html."<td>".$row["@serial"]."</td>";        
            $html=$html."<td>".$row["@accesorio"]."</td>";        
            $html=$html."<td>";        
            $html=$html."&nbsp;<img class='icon-remove-RecMercanciaItemAccesorio' id='icon-remove' src='../recursos/imagenes/remove.png' title='Eliminar el Registro'>";        
            $html=$html."</td>";        
            $html=$html."</tr>";                    
        }
        //-- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        //-- retorno el resultado
        return json_encode(array("HTML"=>$html));        
    }
    
    public static function selectByIdOrdTrabajoRecMercanciaItemLista($idordTrabajoRecMercanciaItem){
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemAccesorio\"(
                'selectByIdOrdTrabajoRecMercanciaItem'
                ,'0|-1'  /*Para que muestre todos los resultados de la tabla*/
                ,".$idordTrabajoRecMercanciaItem."
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
            );";
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            echo str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()));                
            return null;
        }
        
        //--- obtengo los registros
        $lista="";
        while($row = pg_fetch_array($res)) {
            $lista=$lista.($lista==="" ? "" : ", ").$row["@accesorio"];            
        }
        
        //-- Cierro la conexion
        ConexionBD::get()->desconectarse();        
        
        //-- retorno el resultado
        return $lista;        
    }
    
    public static function insert(
            $codUsuario,$activo,$idOrdTrabajoRecMercanciaItem,$accesorio,$cantidad,$observaciones,$serial)
    {
        
        //return json_encode(array("ERROR"=>$idOrdTrabajoRecMercanciaItem." - ".$cantidad." - ".$anoFabricacion));
        //exit();
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemAccesorio\"(
                'insert'
                ,NULL
                ,".$idOrdTrabajoRecMercanciaItem."
                ,NULL
                ,'".$codUsuario."'
                ,'".(($activo) ? 'true' : 'false')."'
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,'".$accesorio."'
                ,'".$cantidad."'
                ,'".$observaciones."'
                ,'".$serial."'
                ,NULL
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();   
        
        //--- debo retornar el id que se genero al hacer la insercion
        while($row = pg_fetch_array($res)) {
            return json_encode(array("id"=>$row["@id"]));
        }
        //-- retorno sino devolvio un id, retorno cero para que no se generen erroes en la vista
        return json_encode(array("id"=>"0"));
    }
    
    /*
    public static function update(
             $codUsuario,$id,$activo,$codOrdTrabajo,$codOrdTrabajoRecMercancia,$codOrdTrabajoRecMercanciaItem,$codOrdTrabajoRecMercanciaItemAccesorio
            ,$codMaeMaterial,$codPaisFabricacion,$referencia,$modelo,$descripcion,$cantidad,$lote,$anoFabricacion,$observaciones,$serial,$estado,$consecutivo)
    {
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItem\"(
                'update'
                ,NULL
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,'".(($activo) ? 'true' : 'false')."'
                ,'".$codOrdTrabajo."'
                ,'".$codOrdTrabajoRecMercancia."'
                ,'".$codOrdTrabajoRecMercanciaItem."'
                ,'".$codOrdTrabajoRecMercanciaItemAccesorio."'
                ,'".$codMaeMaterial."'
                ,'".$codPaisFabricacion."'
                ,'".$referencia."'
                ,'".$modelo."'
                ,'".$descripcion."'
                ,'".$cantidad."'
                ,'".$anoFabricacion."'
                ,'".$observaciones."'
                ,'".$serial."'
                ,'".$estado."'
                ,'".$consecutivo."'
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        return json_encode("");
    }
    */
    
    public static function delete($codUsuario,$id){
        //--- verifico que el registro actual exista
        if($id==0){
            return;
        }
        //---  cargo la informacion desde la BD
        $consulta="
            select * from \"FuncOrdTrabajoRecMercanciaItemAccesorio\"(
                'delete'
                ,NULL
                ,".$id."
                ,NULL
                ,'".$codUsuario."'
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL
                ,NULL                
            );";
        //--- Obtengo los datos de postgres
        @$res= pg_query(ConexionBD::get()->conectarse(),$consulta);
        //--- veo si se presento algun error
        if(!$res) {
            return json_encode(array("ERROR"=>str_replace("ERROR:","",pg_last_error(ConexionBD::get()->conectarse()))));
        }
        ConexionBD::get()->desconectarse();        
        return json_encode("");
    }    
}
?>
